import { Component } from '@angular/core';
import { NavController,ItemSliding, ModalController } from 'ionic-angular';
import { Title } from '@angular/platform-browser';
import { Task } from './task';
import { HttpDataProvider } from '../../providers/http-data/http-data';
import { InputTaskPage } from '../input-task/input-task';

@Component({
  selector: 'page-tasklist',
  templateUrl: 'tasklist.html'
})
export class TaskListPage {
   tasks: Task[] = [];
  

  constructor(public navCtrl: NavController,
    public modalCtrl: ModalController,
   public httpData: HttpDataProvider  ) {
  }

   ionViewDidLoad(){
      //  this.tasks = [
      //   {title: '牛奶', status: 'open'},
      //   {title: '鸡蛋', status: 'open'},
      //   {title: '果汁', status: 'open'},
      //   {title: '煎饼', status: 'open'}
      // ]; 
      this.httpData.getTaskList().subscribe(tasks =>{
         this.tasks = tasks;
        //  console.log(this.tasks);
      });
    }
      /**
       * 新增待办事项
       */

  addTask(){
    // let theNewTask: string = prompt("新任务");
    // if(theNewTask !==''){
    //   this.tasks.push ({title: theNewTask, status: 'open'});
    // }
    let addModal = this.modalCtrl.create(InputTaskPage);
 }

/**
 * 标记待办事项
 * @param slidingItem 
 * @param task 
 */

 markAsDone(slidingItem: ItemSliding, task: Task){
   task.status = 'done';
   this.httpData.updateTask(task).subscribe();
   slidingItem.close();

 }

 /**
  * 删除待办事项
  * @param slidingItem 控制的滑动项的参数
  * @param task 删除的任务项的参数
  */

 removeTask(slidingItem: ItemSliding,task: Task){
   task.status = 'removed';
   let index = this.tasks.indexOf(task);
   if(index > -1){
     this.tasks.splice(index, 1);
   }
   this.httpData.deleteTask(task).subscribe();
   slidingItem.close();
 }


 /**
  * 下拉刷新
  * @param refresher 
  */
 doRefresh(refresher: any){
   setTimeout(() => {
     this.httpData.getTaskList().subscribe(tasks =>{
      this.tasks = tasks;      
   });
   refresher.complete();
   }, 2000);
 }
}
